1 Technical Field
The present invention relates to tracking of data objects, more particularly, to data objects having dual modes using related thumbnails and tool icons in a palette window.
2. Description of the Related Art
In the field of graphical computer applications, it is often desirable to reuse or repeat data in a variety of forms such as text, lines, geometric shapes, raster graphics, and so forth throughout documents. Additionally, it is recognized that such data may have a number of associated attributes that further define its appearance. It is also desirable to reuse such properties or settings. Information reuse was accomplished by practicing a number of now well known techniques to enable a user to replicate content or generate similar content having similar styles and tool settings.
One of the most familiar of such techniques is the “clipboard” function, which allows users to cut, copy, and paste selected data from one application to another or within the same application. This function is used extensively because it allows the user to avoid reentering data already present on the computer. Generally, all types of data, including text, graphics, equations, and tables can be transferred to and from the clipboard. This function is typically provided by the operating system, where applications written for the particular operating system “calls” the applicable programmed procedures relating to the clipboard functionality.
The clipboard function relies upon a reserved area of memory, which stores the copied data. The cut, copy, and paste commands may be invoked by the CTRL-X, CTRL-C, and CTRL-V keystroke sequences, respectively, which will be recognized by those familiar with the Windows operating system. Other well-known graphically oriented operating systems provide the same functionality often through similar keystroke sequences. Further, these functions may also be invoked from a drop-down menu. The cut command removes the selected data from the display into the clipboard memory. The copy command copies the selected data from the display into the clipboard memory. The paste command copies the contents of the clipboard memory to an indicated insertion point.
Prior to copying or cutting the data into the clipboard, the data must be selected. The user generally uses the keyboard or the mouse to select the desired data from a screen display. Then, the user invokes either the cut or copy command, and the selected data is transferred into the clipboard memory. As is well understood, data displayed on a computer display can be generally categorized into text data and graphics data. In order to select text data, the user positions an “I-beam” pointer at the beginning of the desired text by maneuvering the mouse, clicks and holds down a mouse button, drags the pointer to the end of the desired text, and releases the mouse button. To select text with the keyboard, the user positions the cursor at the beginning of the desired text, presses the shift key, and uses arrow keys to move to the end of the desired text. Text selected in either of the methods described typically appears on the screen display with a background color different from the background color of the non-selected areas of the text. In order to select graphics data in the form of objects, the user navigates a cursor to the graphic via the mouse, and clicks on the graphic. To select graphics data in the form of objects with the keyboard, the user positions a cursor onto the object using the arrow keys, tab key, or any other key not operative to input text. Selected graphics data usually appear with selection handles on corners or other boundaries of the graphic.
Early examples of clipboard functionality existed in word processing applications where textual data was selected, copied, and pasted according to the methods described above. Thus, repeat information need not be retyped, improving efficiency. However, according to early implementations of the clipboard functionality, only one selection of data could be copied to the clipboard memory. Therefore, multiple sections could not be copied and individually retrieved. Although methods such as those described in U.S. Pat. No. 6,961,907 to Bailey provided the ability to copy multiple segments into a single clipboard, those multiple sections could not be individually retrieved. In order to cure such deficiencies, application programs having a multiple position clipboard have been developed. The clipboard operates as a stack, where the most recent item was stored at the top of the stack. Users have the option of displaying the contents of the clipboard in a window, thus not being limited to pasting the last item stored in the clipboard. The user selects any of the items stored and the item was pasted in a desired location.
This concept was unsatisfactory, however, in that only the most recently used items were accessible, and that if multiple, duplicate items were copied, the duplicates remained in the clipboard. Additionally, alternately copying a same set of content also resulted in duplicates remaining in the clipboard. Another deficiency was that changes to the original content were not reflected in the clipboard since it was static. Moreover, the content stored in the clipboard could not be accessed across different user sessions since the clipboard contents were deleted once the application associated therewith was closed. Finally, it was still necessary for the user to initiate the process of selecting and copying the data through one or more of the methods described above.
Another well known technique for facilitating data reuse is saving the attributes of a tool, function, or content as a “default,” enabling the user to create new content based on such saved attributes. As an example, typical word processor documents include editable settings such as font, color, border styles, and so forth. However, one deficiency with the use of such “default” attributes in the prior art is that there is only a single set of attributes for a particular tool, function, or content, and so forth. Accordingly, multiple variations of the same tool, function, or content are not readily accessible.
According to another well known technique for data reuse, custom tool palettes and tool presets may be utilized. With such a technique, graphical computer applications provide a number of tools such as pens, brushes, and airbrushes, as well as tools that facilitate the creation of geometric primitives such as lines, boxes, ellipses, and so forth. As is well understood, each of the tools is further defined by various attributes that further customize the appearance of content created with those tools. In such prior art techniques, a tool is selected from one of the tool palettes, the attributes for the tool are adjusted, and the tool is saved to a tool preset palette. The preset tool can then be utilized to generate content having the adjusted attributes. However, this technique also had a number of deficiencies, namely, that the user must predefine the tool before generating the content. Oftentimes it is desirable to generate content without first knowing which tool to use, and more particularly, without knowing the particular settings for the attributes associated with a given tool. With the aforementioned prior techniques, however, this was not possible.
Accordingly, there is a need in the art for an improved method for generating custom tools directly from produced content having a drawing mode and a properties mode.